/**
 * 1. 处理网络接口数据，同步到列表可以使用的数据格式。
 * 2. 数据更新，根据网络总数据接口。
 * 3. 数据更新，根据餐车接口。
 * 
 * 
 * 1. 整体数据渲染
 * 2. 根据购物车数据，更新订单列表数据。
 * 3. 
 * 
 */

/**
 * 首次初始化列表数据
 * 备注：
 *     数据格式都不用变，只需要把规格默认选中第一个就可以了。
 * @param {Object} data
 */
function initData (data) {
	let _resData = [...data];
	_resData && _resData.map((item, index) => {
		item.category_list.map((categoryItem, categoryIndex) => {
			categoryItem.goods.map((goodsItem, goodsIndex) => {
				goodsItem.num = 0;
				goodsItem.goods_spec.map((specItem, specIndex)=>{
					// if(specIndex == 0){
					// 	specItem.active = true;
					// }else{
					// 	specItem.active = false;
					// }
				});
			});
		});
	});
	return _resData;
}

function getActiveSpec (data, ) {
	let _resData = [...data];
	let _specItem = {};
	_resData && _resData.map((item, index) => {
		item.category_list.map((categoryItem, categoryIndex) => {
			categoryItem.goods.map((goodsItem, goodsIndex) => {
				goodsItem.goods_spec.map((specItem, specIndex)=>{
					if(specIndex == 0){
						specItem.active = true;
						_specItem = specItem;
					}
				});
			});
		});
	});
	return _specItem;
}



// ================================ ↓↓↓ 私有方法 ↓↓↓ ================================

/**
 * 输入商品id，返回当前list中商品的信息。
 * @param {Object} id
 * @param {Object} activeData
 */
function _getItemForActiveData (id, activeData) {
	let _data = [...activeData];
	let dataItem = {};
	_data && _data.map((item, index) => {
		item.category_list.map((categoryItem, categoryIndex) => {
			categoryItem.goods.map((goodsItem, goodsIndex) => {
				if(id == goodsItem.id){
					dataItem = goodsItem;
				}
			});
		});
	});
	return dataItem;
}

export default {
	initData,
	getActiveSpec,
}